home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Diamond Collection / The Diamond Collection (Software Vault)(Digital Impact).ISO / cdr37 / ibbs11_c.zip / IBSTRUCT.TXT < prev    next >
Text File  |  1994-12-31  |  47KB  |  802 lines

  1.  
  2.                       ┌────────────────────────────────┐
  3.                       │InterBBS User Record Information│
  4.                       └────────────────────────────────┘
  5.  
  6.         This file  is provided  for door  and utility  authors with  a goal of
  7.         clearly explaining  the methodology  used for  reading and  updating a
  8.         user's  record.  It  is  current  for  version 1.0  of  the  software
  9.         which will be released in early September, 1994.
  10.  
  11. ┌──────────┐
  12. │Background│
  13. └──────────┴──────────────────────────────────────────────────────────────────
  14.         InterBBS version 1.0 utilizes 2 files for the storage of  user account
  15.         information.   They  are  USERS  and FNUSERS.INF.   Each SIG (forum)
  16.         has a file named SIG####.USR which contains last message  read
  17.         pointers and  message related  "flags". The "####"  is the number of
  18.         the  SIG  filled  from  the  left with  0's.   The first SIG is 0000.
  19.         Each  SIG  has  3 additional SYSTEM  files  which  control  the bbs'
  20.         operation:
  21.  
  22.         SIG####.@@@ - The  CONFERENCE  configuration   file  for  each    SIG.
  23.                       Contains  pertinent  information  about  each CONFERENCE
  24.                       within the SIG including required security levels,  name
  25.                       of conference, location/name of conference message  file
  26.                       and other information which is defined in the  structure
  27.                       of the conference record located below.
  28.  
  29.         SIG####.LST - This  file  is   a  cr/lf  delimited list of  conference
  30.                       NAMES.   The  names  are  extracted  from SIG####.@@@ by
  31.                       IBBSCFG.EXE (InterBBS configuration program).
  32.  
  33.         SIG####.SEC - This  file  contains   a  bit-map  of each  conference's
  34.                       public/private status.  If the conference is PUBLIC  the
  35.                       bit is  set while  a PRIVATE  conference  will  have the
  36.                       bit cleared.
  37.  
  38.  
  39.         InterBBS *does not* maintain or use the PCBoard USERS file bytes which
  40.         hold the message flags and pointers for conferences 0-39.  These are
  41.         15 bytes at offset 193 and 160 bytes at offset 225.
  42.  
  43.  
  44. ┌─────────────────────────┐
  45. │Accessing the User Record│
  46. └─────────────────────────┴───────────────────────────────────────────────────
  47.         InterBBS utilizes  26 user index  files for quickly  locating a user's
  48.         name during the logon  process or when a caller  addresses mail to
  49.         other than  "ALL".  They are  named  FNPNDX.x  ("x"  is  the first
  50.         letter of the caller's first name).  The SysOp record is ALWAYS record
  51.         #1.  The name in  this record should be the same as the sysop's name
  52.         entered in IBBSCFG.
  53.  
  54.         When  a  user  logs  on  (locally  or  remotely), the user record # is
  55.         derived from  the signed  integer in  the user  index file (FNPNDX.x).
  56.         If the SysOp  performs a quick  login to the  main menu, record  #1 is
  57.         used without accessing the user index file(s).
  58.  
  59.         The USERS file is a text/binary  file with a 400 byte record  for each
  60.         user.  The record  obtained when the users  index file is read  is the
  61.         one  assigned  for  a  given  user.   Users  with  the  same  name are
  62.         permitted if the SysOp chooses (in  IBBSCFG - General  Information #1)
  63.         to verify each  user's  City and State.   Otherwise  the  search  will
  64.         terminate when the the first match occurs.
  65.  
  66.         When the  user record  is read,  the 2  bytes at  offset 385 contain a
  67.         SIGNED integer  with a  record number  in the  SIG's SIG####.USR  file
  68.         which contains this user's Last Message Read Pointers and Bitmaps.
  69.  
  70.         All  users  are  in  SIG  0  when  they  login.   The filename for LMR
  71.         pointers and Bitmaps for SIG 0 is "SIG0000.USR".
  72.  
  73.         The SIG####.USR file  is a variable  length record file.   Each user's
  74.         record is the same length, but length of each user's record is  solely
  75.         dependent upon the number of conferences configured for the SIG.
  76.  
  77.         The size of each record in  the SIG####.USR file is calculated in  the
  78.         following manner:
  79.  
  80.         1) Number of conferences times  4. [LMR Pointers in SIGNED  Long Ints]
  81.         2) Number    of    conferences   divided     by    8   rounded     up.
  82.         3) Value in #2 times 4 (4 bit fields for each conference).
  83.  
  84.         Example BASIC Code to calculate the record length:
  85.  
  86.         ExtLmrLen& = Areas& * 4         ' Bytes needed Last Message Read Ptrs.
  87.  
  88.         BitLen% = Areas& \ 8            ' "\" is integer division operator in
  89.  
  90.         IF Areas& MOD 8 > 0 THEN        ' MOD is Modulus Division ("%" in C).
  91.            Bitlen% = Bitlen% + 1        ' Length of BASIC string which
  92.         END IF                          ' contains a conference bitmap
  93.  
  94.         ' Bitlen% is the length of EACH bitmap (there are 4)
  95.  
  96.         ExtRecLen& = ExtLmrLen& + (Bitlen% * 4) ' Length of a user's record
  97.                                                 ' in the SIG####.USR file.
  98.  
  99.         The BITMAP flags are stored in the following sequence:
  100.  
  101.         1)  All the Conference scan flags (user wants to scan these
  102.             conferences in global msg reading, QWK D/L)
  103.  
  104.         2)  All mail Waiting flags (user has mail waiting in these
  105.             conferences)
  106.  
  107.         3)  All Joined Conference Flags (user has joined/allowed to join these
  108.             conferences)
  109.  
  110.         4)  All Conference Co-SysOp Flags (user may read/delete any messages
  111.             in a conference if he/she has a Co-SysOp bit set).
  112.  
  113.         Bit Flags:  If a bit is non zero it is considered ON.
  114.                     A zero bit is OFF.
  115.  
  116.  
  117.         If a  user connects  to the  bbs, enters  the name  "IMA MODEMEN"  the
  118.         following demonstrates accessing the  user's record in the  USERS file
  119.         followed by reading his/her message information from SIG0000.USR.
  120.  
  121.         1) FNPNDX.I is scanned  for "IMA MODEMEN".   Let's say it was  located
  122.            and the SIGNED  integer at offset  0 of the  user index record  was
  123.            450.
  124.  
  125.         2) The USERS file  is opened and the  record number obtained above  is
  126.            read  (400  bytes).   Currently,  InterBBS  does  not use a typed
  127.            structure for  the user  record.   The USERS  file record layout is
  128.            found in another section of this file (below).
  129.  
  130.         3) The  2  bytes  at  offset  385  of  the  user  record  contain  the
  131.            "extended"  user  record  number.    This  record  number  in   the
  132.            SIG####.USR file  is then  read to  obtain the  user's LMR pointers
  133.            and conference bitmaps.  (The  bitmaps are explained below).    Use
  134.            the  formula  explained  above  to  obtain the extended user record
  135.            size for this SIG. Then seek  to the part of the user's  record you
  136.            wish to read.
  137.  
  138.         Updating (and flushing to disk) a user's record before changing  SIG's
  139.         is required to keep a  user's information up-to-date.  Though  this is
  140.         pretty elementary, the SIG  approach InterBBS uses  does create room
  141.         for a programming over-sight.
  142.       ─────────────────────────────────────────────────────────────────────────
  143.  
  144. ┌─────┐
  145. │Recap│
  146. ├─────┴───────────────────────────────────────────────────────────────────────┐
  147. │                                                                             │
  148. │     ■ File names and naming conventions for the user-related system files   │
  149. │       have been specified and explained.                                    │
  150. │                                                                             │
  151. │     ■ The method  for determining the  users record size  in the SIG####.USR│
  152. │       file has been explained.                                              │
  153. │                                                                             │
  154. │     ■ Reading a user's  record in  the USERS  file and in the current SIG's │
  155. │       extended user file (SIG####.USR) has been explained.                  │
  156. └─────────────────────────────────────────────────────────────────────────────┘
  157.         When the message base is locked for message insertion,  only the 6
  158.         bytes starting at offset 16 (positions 17 through 22) are "LOCKED".
  159.  
  160.         This permits normal message reading even if the above bytes are
  161.         locked.  Previous versions of InterBBS placed the word "LOCKED"
  162.         in the locked field to indicate the message file was being written.
  163.         This means of indicating the message file header is LOCKED is still
  164.         supported since some older message manipulation utilities may still
  165.         use the old method.
  166.  
  167.  
  168. ┌───────────────────┐
  169. │USERS File Locking │
  170. └───────────────────┴─────────────────────────────────────────────────────────
  171.         InterBBS locks the entire user record (400 bytes) when the USERS file
  172.         is being updated.  Other programs encountering a locked USERS file
  173.         record should loop until the lock is removed.  This should rarely be
  174.         more than about 1/2 second (that is a conservative estimate).
  175.  
  176.         On a network with several nodes in operation this could be longer
  177.         when a SERVER has a heavy disk i/o workload.
  178.  
  179. ┌─────────────────────────────┐
  180. │ Message Handling Information│
  181. └─────────────────────────────┴──────────────────────────────────────────────
  182.         InterBBS version 1.0 closely follows the PCBoard version 15.0 message
  183.         handling.  There are a few exceptions and those exceptions are now
  184.         discussed.
  185.  
  186.         InterBBS uses the PCBoard message structure because it has proven to
  187.         be an excellent medium for storage and retrieval of messages.  Its
  188.         structure facilitates extremely quick searches for text within
  189.         messages and lends itself (again) to very quick exporting of messages
  190.         into the QWK format created by Mark (Sparky) Herring.  It is possible
  191.         InterBBS will optionally support another popular message base API in
  192.         the future.
  193.  
  194.       ■ InterBBS's method of file attachments differs:
  195.  
  196.         We use a database method of maintaining file attachments.  Each
  197.         conference may have a path specified for file attachments.  If a
  198.         path is specified, this enables file attachments for the
  199.         conference.  Each conference with file attachments *should* have a
  200.         UNIQUE ATTCHMENT SUB-DIRECTORY specified.  The database is located
  201.         in the attachment sub-directory for a conference and is named
  202.         "#####.ATT" where #### is the conference number.
  203.  
  204.         The attachment database record BASIC structure is:
  205.  
  206.         Type AttachMent
  207.              StoredName AS STRING * 12  ' FileName stored in attach sub-dir
  208.              RealName AS STRING * 12    ' FileName when Uploaded
  209.              Size AS LONG               ' File Size Stored in SIGNED Long Int
  210.         End Type
  211.  
  212.         Note that the conference number is one higher than the conference
  213.         joined. Example: MAIN BOARD (CONF 0) would have an attachment
  214.         database named "1.ATT".  This file is located in the attachment
  215.         sub-directory specified in the conference 0 configuration (see
  216.         structure below).
  217.  
  218.         When a file is attached to a message, InterBBS checks for the
  219.         existence of a file with the SAME name (ignoring the extension (if
  220.         any)).  The name of the file is changed to FILENAME plus an
  221.         extension of ".###" where ### begins at "000" and any subsequent
  222.         files uploaded with the SAME name (ignoring the extension) will be
  223.         given the next higher number up to 999.  The database is scanned
  224.         for the first BLANK (spaces) record (indicative of a deleted
  225.         attachment) and if one is found that record # is assigned the new
  226.         attachment otherwise a new record is created in the database.
  227.         A SIGNED integer at offset 122 (bytes 123,2) of the message header
  228.         holds this record number.  When a message is read, the value of
  229.         the SIGNED integer at offset 122 is checked.  If it is < 1000 and
  230.         greater than 1 then an attachment is assumed and The database
  231.         record is read (SIGNED integer).  If the attached file is downloaded
  232.         or viewed after the message is read, the stored name is first
  233.         copied to the WORK sub-directory as the REAL name.
  234.  
  235.  
  236.       ■ InterBBS' method of Return Receipts (RR) Differs:
  237.  
  238.         InterBBS utilizes byte 125 (offset 124) of the message header to
  239.         indicate a return receipt is requested/present.  When a RR is
  240.         requested as a message is saved, offset 124 (byte 125) of the
  241.         message header will contain an ASCII 1 ("").  When the user that
  242.         message is addressed to has read the message,  InterBBS will generate
  243.         a RR which places an ASCII 4 ("") at offset 124 (byte 125) of the
  244.         message header.  InterBBS generate a new message to create the RR.
  245.         When a RR notice is read by the person to whom it is addressed, the
  246.         message is automatically deleted.
  247.  
  248.       ■ InterBBS supports only private ("*") and public (" ") mail status
  249.         codes (offset 0 in the message header).  This may be expanded in
  250.         the future.  Mail Status codes other than "*" (PRIVATE) are considered
  251.         PUBLIC.
  252.  
  253.       ■ InterBBS supports only the following extended message header fields:
  254.         "TO     "      - TO Name (or address for internet)
  255.         "FROM   "      - FROM Name (or address for internet)
  256.         "SUBJECT"      - Subject of the message
  257.  
  258.   Note: If more extended message header fields *must* be supported, please
  259.         notify us by calling 813-249-8322 (voice) or 813-249-8422 (bbs).
  260.  
  261.  
  262.  
  263. ╔══════════════════════════╗
  264. ║ CONTROL FILES - SIG.LST  ║
  265. ╚══════════════════════════╩═════════════════════════════════════════════════
  266.         The SIG.LST file (SIG List File) is comprised of fixed length records
  267.         using the following BASIC structure.
  268.  
  269.         Type SigDataRec
  270.              Sec AS INTEGER             ' This is a SIGNED Integer
  271.              Desc AS STRING * 30        ' NOT null terminated
  272.              Intro AS STRING * 32       ' NOT null terminated
  273.         End Type
  274.  
  275.         InterBBS will *always* have at least 1 (one) record in the SIG List
  276.         file (for SIG 0).  The ONLY part of the record which really *controls*
  277.         anything is the "Sec" element.
  278.  
  279.         The "Sec" element may contain a numeric range from 0-255 which are
  280.         the security levels allowed in InterBBS.
  281.  
  282.         The "Desc" element is a short description of the SIG.  This is
  283.         displayed to a caller when the SIG is joined ("SIG ####").
  284.  
  285.         The "Intro" element is the path and name of a text file to be
  286.         displayed to a caller when the SIG is joined.  If none is
  287.         specified, InterBBS does not display the "missing file" notice to the
  288.         caller.
  289.  
  290.         The total size of the structure is 64 bytes.  It is important to
  291.         check the size of the SIG List file to determine the number of
  292.         sigs.  There is no configuration item which accepts the number of
  293.         SIGS to configure.
  294.  
  295.         Using a suitable method, read LINE 216 of the SRCONFIG file
  296.         (located in the NODE sub-directory).  This is the PATH & NAME of
  297.         the SIG List file.  Divide the Size of the SIG List file by 64 to
  298.         determine the number of SIG's.  Seek to the offset of the record
  299.         you are accessing and read in the structure or merely read the
  300.         SIGNED integer at the offset of the record if that is all the
  301.         information you need from the record.
  302.  
  303. ╔════════════════════════════╗
  304. ║ CONTROL FILES - SIG####.@@@║
  305. ╚════════════════════════════╩═══════════════════════════════════════════════
  306.         The SIG####.@@@ is the conference "control" or definition file.  It
  307.         contains all pertinent information about each conference in the
  308.         SIG.  The first 2 bytes of the file are a SIGNED integer which
  309.         contains the size of the structure (900 bytes for InterBBS v1.0).
  310.       ┌────────────────────────────────────────────────────────────────────┐
  311.       │ To read conference #2's RECORD, the following BASIC code is used:  │
  312.       │         'RecNum% is 2                                              │
  313.       │         'ConfSize& is 900 as determined when we read the SIGNED int│
  314.       │         'One is a CONST (1)                                        │
  315.       │         'SigRec is Our Type Structure                              │
  316.       │         '"3" is used to seek to the file position. (OPTION BASE 1) │
  317.       │         'C or Assembler would use a "2" (OPTION BASE 0)            │
  318.       │ GET FileNum%, (ConfSize& * (RecNum% - One)) + 3, SigRec            │
  319.       └────────────────────────────────────────────────────────────────────┘
  320.         The structure of the "record" follows.
  321.  
  322.   TYPE ConfNames         ' SIG####.@@@ file RECORD Structure
  323.  
  324.         Maildir AS STRING * 40  ' Path/name of Conf message File
  325.         Bname   AS STRING * 25  ' Name of Conference
  326.         Xfer    AS STRING * 35  ' DIR Listing File name ("DIR.LST")
  327.         DpathNm AS STRING * 30  ' DLPATH.LST File name  ("DLPATH.LST")
  328.         UpathNm AS STRING * 30  ' Public Upload FIle Directory Path
  329.      PrivPathNm AS STRING * 30  ' Private Upload Directory path
  330.       UlDirFile AS STRING * 30  ' Public Upload DIR Listing File Name
  331.     PrivDirFile AS STRING * 30  ' Private Upload DIR Listing File Name
  332.      DirMenFile AS STRING * 30  ' DIR Listing Menu File Name
  333.          IsEcho AS STRING * 1   ' Is this conf. to be echoed (Char 0=no; 1=yes)
  334.         AccLvl  AS STRING * 1   ' Security Lvl Req'd to enter conf. (0-255)
  335.         RepLvl  AS STRING * 1   ' Security Lvl Req'd to REPLY to msg (0-255)
  336.        WritLvl  AS STRING * 1   ' Security Lvl Req'd to ENTER a msg (0-255)
  337.          IsPub  AS STRING * 1   ' Is this a public conf (Char 0= no; 1=yes)
  338.       NumMblks  AS STRING * 1   ' Number of message Blocks - 1 block=1024 msgs
  339.       UpDirlvl  AS STRING * 1   ' Public Upload Directory Security level
  340.     PrivDirlvl  AS STRING * 1   ' Private Upload Directory Security level
  341.     IndexFile   AS STRING * 30  ' Path And name of DIR Index file (if any)
  342.  
  343.     DoorMen     AS STRING * 30  ' Path And name of Door menu File
  344.     DoorData    AS STRING * 30  ' Path And name of Door Data File
  345.     BltnMen     AS STRING * 30  ' Path And name of bulletin menu File
  346.     BltnLst     AS STRING * 30  ' Path And name of Bulletin List File
  347.     PrivateOnly AS STRING * 1   ' Private mail ONLY conference ' \\\\\\\\\
  348.    ConfNewsFile AS STRING * 30  ' Private mail ONLY conference ' \\\\\\\\\
  349.      PubLicOnly AS STRING * 1   ' Public mail ONLY conference ' \\\\\\\\\
  350.    AttachToDir  AS STRING * 30  ' Private mail ONLY conference ' \\\\\\\\\
  351.  
  352.     CoSysOpName AS STRING * 25  ' Co-SysOp's name (if any) for SYSOP mail
  353.     GraphicsQ   AS STRING * 1   ' GrapHics Quoting
  354.     Cussing     AS STRING * 30  ' CussWord File Path/name
  355.     AliasOK     AS STRING * 1   ' Alias Name ok in This conf
  356.     ReceiptSec  AS STRING * 1   ' Return Receipt Security Level
  357.  
  358.     ConfPw       AS STRING * 15       ' Password to Join Conf (if <> " ")
  359.     ConfConfNews AS STRING * 35       ' Conference NEWS File
  360.     ConfMainMenu AS STRING * 35       ' Conference MainMenu File (MM)
  361.     ConfSysOpMainMenu AS STRING * 35  ' Conference Sysop main Menu
  362.     ConfConfmenu AS STRING * 35       ' Conference ConF Menu
  363.     ConfSysOpConfmenu AS STRING * 35  ' Conference Sysop Conf Menu
  364.     ConfConflst AS STRING * 35        ' Conference Conference List File Name
  365.     ConfFilemenu AS STRING * 35       ' Conference File menu
  366.     ConfSysOpFilemenu AS STRING * 35  ' Conference Sysop File Menu
  367.            ViewDirsok AS STRING * 1   ' ViewDirsok Yes / No
  368.            LongHeader AS STRING * 1   ' Allow Long TO, From Addresses
  369.            ForceEcho  AS STRING * 1   ' Force All mail in conf as ECHO
  370.            UseOldNdx  AS STRING * 1   ' Use the Old Style MSGS.NDX File
  371.  
  372.     Future AS STRING * 43             ' Reserved and UnUsed
  373.  
  374.   END TYPE
  375.  
  376.         Note that the STRINGS are NOT null terminated.  The "IsPub" element
  377.         may be ignored *if* you utilize bitmap in the SIG####.SEC file.
  378.         The message INDEX files have .NDX (for OLD Index) and .IDX (NEW
  379.         Index) extensions appended to the path & name of the message file.
  380.  
  381.  
  382.  
  383. ╔══════════════════════════════╗
  384. ║ CONTROL FILES - NODEINFO.DAT ║
  385. ╚══════════════════════════════╩═════════════════════════════════════════════
  386.         InterBBS uses NODEINFO.DAT as a node "status" and control file.  The
  387.         file format has changed from the previous use of the PCBoard 14.2
  388.         USERNET.DAT file format to better support numerous nodes and to
  389.         provide a means for quickly detecting changes in any nodes status.
  390.  
  391.         With version 1.0 of the software, the NODEINFO.DAT file was modified
  392.         by using the first 128 byte record of the file as a BITMAP.
  393.         Currently, InterBBS uses the first 32 bytes of this record for node
  394.         login/logoff flags.  The bits used for this are 0-254 which support
  395.         nodes 1-255 respectively.  For example, when a caller is logging in
  396.         or logging off the system AND the SysOp has enebled login/logoff
  397.         broadcasts to other nodes in IBBSCFG (General Information #2), the
  398.         BIT for that NODE will be set for three seconds.  After the three
  399.         second "wait" for other nodes to detect the login/logoff, the BIT
  400.         is then cleared.
  401.  
  402.         IF login/logoff broadcasts are enabled on a node (each node is
  403.         controlled individually) the NODEINFO.DAT file is checked every 3
  404.         seconds when a user is in the system and NOT entering a message or
  405.         file description.  The entire 128 byte record is currently read and
  406.         those login/logoff BITS for the active nodes are checked.  If one
  407.         is found to be SET that nodes records is then read and the
  408.         login/logoff is broadcast to the caller on the node performing the
  409.         check.  The process loops until all nodes have been checked
  410.         (practically no delay).  Once all nodes have been checked AND there
  411.         has been a login or logoff, there will be a delay of 1 and 1/18th
  412.         seconds to allow the affected node to clear its login/logoff bit.
  413.  
  414.         A node setting its BIT (logging in / logging off) will pause 3 seconds
  415.         for other nodes to check the BITMAP.
  416.  
  417.         InterBBS DOES NOT presize the NODEINFO.DAT file to support the
  418.         maximum number of nodes the software is designed for.  The file is
  419.         extended as new nodes are added up to the maximum supported.
  420.  
  421.         The structure of the NODEINFO.DAT follows:
  422.  
  423.         Type NodeRecord
  424.              Status AS STRING * 1       ' Node's Current Status Flag
  425.              PageOK AS STRING * 1       ' Is this node accepting a Chat Page
  426.  
  427.              PagedBy AS Integer         ' Either a "0" for not paged or a node#
  428.                                         ' Note that this allows a user to be
  429.                                         ' paged while in chat unless the PageOK
  430.                                         ' flag is turned off.
  431.  
  432.              ChatWith AS Integer        ' # = Node# or Group#. 0 = N/A.
  433.                                         ' Indicates the node number or group #
  434.                                         ' the user is IN chat with (or 0=N/A)
  435.  
  436.              UserNm AS STRING * 25      ' Name of User on this Node
  437.              UserFm AS STRING * 24      ' Where the user is from (City/State)
  438.  
  439.              Waiting AS Integer         ' The Node has paged the node # here
  440.                                         ' and is "WAITING" in the chat module
  441.                                         ' for the "paged" node to enter chat.
  442.  
  443.              Reserved AS STRING * 7     ' Filler & Extra up to 128 Bytes/Record
  444.              NodeMsg  AS STRING * 64    ' Node-Node msg (From Chat Module)
  445.              
  446.         End Type
  447.  
  448.         Current Node STATUS codes are (ASCII):
  449.         1 = Available for Chat
  450.         2 = Waiting for a Call
  451.         3 = Transferring a File
  452.         4 = Entering a Message
  453.         5 = Group Chat (Group ###)
  454.         6 = Chatting with Node ###
  455.         7 = Opened a Door
  456.         8 = Front End in Control
  457.         9 = Unavailable for Chat
  458.        10 = Logging into Node ###
  459.        11 = Logging off Node ###
  460.        12 = Stealth Mode
  461.  
  462.        "Stealth Mode" is given for a node which has used the "HIDE" command
  463.        from the main menu.  This command toggles STEALTH mode.  If a node
  464.        is STEALTH, the exact status of that node is unavailable to users on
  465.        other nodes.
  466.  
  467.  
  468.  
  469. ╔═══════════════════════════╗
  470. ║ CONTROL FILES - SRCONFIG  ║
  471. ╚═══════════════════════════╩════════════════════════════════════════════════
  472.  
  473.             This is the main BBS configuration file.  It is a cr/lf delimited
  474.             text file and it is created by IBBSCFG in each NODE directory.  A
  475.             sample SRCONFIG file with a short description of the contents
  476.             follows:
  477.  
  478.             ENTRY                     LINE DESCRIPTION
  479.             ───────────────────────── ──── ─────────────────────────────────
  480.             The BBS                     1  Name of your BBS
  481.             IMA MODEMEN                 2  Sysop's name
  482.             C:\IBBS                     3  BBS program main directory
  483.              1                          4  Number of this node
  484.             C:\IBBS\NODE1               5  This node home directory
  485.             140                         6  Max messages per archive run
  486.             115                         7  Userfile edit access (remote sysop
  487.                                            access
  488.              1                          8  Lock com port at opening baud rate
  489.                                            1=yes, 0=no
  490.             COM1                        9  Comport for this node (com1-4)
  491.             ATZ                        10  Modem reset string
  492.             57600                      11  Baud rate which to open com port
  493.             30                         12  New user's access level
  494.              1                         13  Questionnaires used?  1=yes, 0=no
  495.             25                         14  Secs for modem to wait to connect
  496.             C:\IBBS\NODE1\WORK\        15  Node work directory (all deleted)
  497.             3                          16  Number of questionnaires available
  498.             1200                       17  Lowest baud rate to allow onto BBS
  499.              1                         18  Use the Today function? 1=yes,0=no
  500.             000                        19  Registration Number (000 if Unreg)
  501.                                        20  Unused by InterBBS v1.0
  502.             1000                       21  Min K-bytes on U/L drive for U/Ls
  503.             8                          22  Number of bulletins available
  504.                                        23  - unused -
  505.                                        24  - unused -
  506.             30                         25  Days before subscription expired
  507.                                            warning file displayed
  508.             10                         26  Expired sec level when subscrip-
  509.                                            tion expires)
  510.              1                         27  Subscription mode desired?
  511.                                            1=yes, 0=no
  512.             0                          28  Ringback option desired?
  513.                                            1=yes, 0=no
  514.             45                         29  Seconds to wait for ringback?
  515.             0                          30  Frontdoor program is used?
  516.                                            1=yes, 0=no
  517.             0                          31  Running under DESQview?1=yes, 0=no
  518.              1                         32  "Uploaded By:"in file description?
  519.                                            1=yes, 0=no
  520.             0                          33  Want high ASCII filter? 1=yes,0=no
  521.             C:\IBBS\SECMSGS\           34  Location of security files
  522.             0                          34  Minutes before modem is reinitial-
  523.                                            ized
  524.             C:\IBBS\FILES\CF0000\HOLD  36  Duplicate U/L hold directory path
  525.  
  526.             30                         37  Sec lev required to D/L files
  527.             30                         38  Sec lev required to U/L files
  528.             30                         39  Sec lev to enter Files area
  529.              1                         40  Graphics at local logon?
  530.                                            1=yes, 0=no
  531.             0                          41  Force users into door at logon?
  532.                                            1=yes, 0=no
  533.             1.5                        42  Upload time credit factor.
  534.                                        43  - unused -
  535.              1                         44  Warn if files flagged at logoff?
  536.                                            1=yes, 0=no
  537.              1                         45  Ask to set msg pointers at logoff?
  538.                                            1=yes, 0=No
  539.                                        46  - unused -
  540.                                        47  - unused -
  541.                                        48  - unused -
  542.                                        49  - unused -
  543.             Y                          50  Permit swapping to EMS/XMS/Disk?
  544.                                            1=yes, 0=no
  545.             50                         51  Sec lev to list users?
  546.                                        52  - Unused -
  547.              1                         53  Allow private personal transfers?
  548.                                            1=yes, 0=no
  549.             C:\IBBS\FILES\CF0000\UPL   54  Private personal file xfer file
  550.                                            directory path
  551.              0                         55  3 second pause after connect=<2400
  552.                                            0=yes, 1=n0
  553.             50                         56  Sec lev to archive and D/L msgs
  554.              1                         57  Enable split screen chat?
  555.                                            1=yes, 0=no
  556.              1                         58  Always ask users to select xfer
  557.                                            protocol? 1=yes, 0=no
  558.             2                          59  Number of nodes configured for
  559.              1                         60  Enable auto-ANSI detect at logon?
  560.                                            1=yes, 0=no
  561.             0                          61  Default subscription in days
  562.                                            (0-999) for new users
  563.             00:00                      62  Sysop available start time (page)
  564.             23:59                      63  Sysop available stop time (page)
  565.             0                          64  Allow one name users (handles)?
  566.                                            1=yes, 0=no
  567.             0                          65  Allow login as sysop from remote?
  568.                                            1=yes, 0=no
  569.             F F 1^m                    66  1/10 shifted F-keys - defined
  570.                                        67  2/10 shifted F-keys - defined
  571.                                        68  3/10 shifted F-keys - defined
  572.                                        69  4/10 shifted F-keys - defined
  573.                                        70  5/10 shifted F-keys - defined
  574.                                        71  6/10 shifted F-keys - defined
  575.                                        72  7/10 shifted F-keys - defined
  576.                                        73  8/10 shifted F-keys - defined
  577.  
  578.                                        74  9/10 shifted F-keys - defined
  579.             J  0 R-^M                  75  10/10 shifted F-keys - defined
  580.              1                         76  Enforce the above sysop availiab-
  581.                                            ility for chat?  1=yes, 0=no
  582.                                        77  Path/name of program to run before
  583.                                            & after transfers
  584.             &H3F8                      78  Serial port base address
  585.             &H4                        79  IRQ number to use
  586.             C:\IBBS\IBSYS\IBBSTEXT     80  Path/name of the "IBBSTEXT" file
  587.              0                         81  - unused -
  588.             1010                       82  Number of lines users allowed to
  589.                                            read from archive
  590.             255                        83  Sec lev req'd to kill own message
  591.             255                        84  Sec lev req'd to list [T]odays
  592.                                            callers
  593.             100                        85  Sec lev req'd to carbon copy msgs
  594.             C:\IBBS\MENU\MM            86  Path/name of Main menu file
  595.             C:\IBBS\MENU\CM            87  Path/name of Conference menu file
  596.             C:\IBBS\MENU\FM            88  Path/name of File menu file
  597.             C:\IBBS\QUES\QUEM          89  Path/name of Script questionaire
  598.                                            menu
  599.             C:\IBBS\DISP\PRELOG        90  Path/name of Prelogin welcome file
  600.             C:\IBBS\DISP\NEWS          91  Path/name of News file
  601.             C:\IBBS\HELLO1             92  Path/name of After login Welcome
  602.                                            file
  603.             C:\IBBS\DISP\NEWUSER       93  Path/name of New User welcome file
  604.             C:\IBBS\DISP\CLOSED        94  Path/name of text file shown to
  605.                                            new users if system is private
  606.             C:\IBBS\LOGS\CALLER1       95  Path/name of Caller log file
  607.             C:\IBBS\DISP\EXPWARN       96  Path/name of Expired subscription
  608.                                            Warning file
  609.             C:\IBBS\DISP\EXPIRED       97  Path/name of Expired Subscription
  610.                                            lapse notice file
  611.             C:\IBBS\QUES\SCRIPT.0      98  Path/name of New user script
  612.                                            questionaire file
  613.             C:\IBBS\\DISP\LOGOFF       99  Path/name of Logoff file
  614.                                            (shown after the [G]oodbye)
  615.             C:\IBBS\DISP\TODAY        100  Path/name of "TODAY" text file
  616.                                            (if used)
  617.             C:\IBBS\DISP\PREDL        101  Path/name of PreDownload Warning
  618.                                            file
  619.             C:\IBBS\DISP\PREUL        102  Path/name of PreUpload Warning
  620.                                            file
  621.             C:\IBBS\DISP\USRSTAT      103  Path/name of the User Statistics
  622.                                            Information file
  623.             255                       104  Sec lev req'd to Kill any message
  624.             255                       105  Sec lev req'd to Edit any message
  625.             110                       106  Sec lev req'd to enter @ macro
  626.                                            messages
  627.             255                       107  Sec lev req'd to [R]ead any msg
  628.             110                       108  Sec lev req'd to view callers log
  629.  
  630.             50                        109  Sec lev req'd to user [VER]
  631.                                            command
  632.             100                       110  Sec lev req'd to edit own messages
  633.             110                       111  Sec lev req'd to edit user info
  634.             50                        112  Sec lev req'd to view [B]ulletins
  635.             50                        113  Sec lev req'd to leave a [C]omment
  636.             50                        114  Sec lev req'd to use [D]oors
  637.             50                        115  Sec lev req'd to view [H]elp files
  638.             50                        116  Sec lev req'd to [J]oin a conf
  639.             50                        117  Sec lev req'd to [L]ist files
  640.             50                        118  Sec lev req'd for [N]ew file dir
  641.                                            scan
  642.             50                        119  Sec lev req'd to page [O]perator
  643.             50                        120  Sec lev req'd to change [P]age
  644.                                            length
  645.             110                       121  Sec lev req'd for unlimited time
  646.             50                        122  Sec lev req'd to answer [Q]ues-
  647.                                            tionnaries
  648.             50                        123  Sec lev req'd for [S/SS]can/super
  649.                                            scans
  650.             50                        124  Sec lev req'd to [S]elect msg scan
  651.             50                        125  Sec lev req'd to toggle [S]creen
  652.                                            color mode
  653.             50                        126  Sec lev req'd for [TP], transfer
  654.                                            protocol
  655.             50                        127  Sec lev req'd to [V]iew user's
  656.                                            statistics
  657.             50                        128  Sec lev req'd to [V]iew archive
  658.             50                        129  Sec lev req'd to view [W]elcome
  659.                                            file
  660.             50                        130  Sec lev req'd to toggle e[X]pert
  661.                                            mode
  662.             50                        131  Sec lev req'd for [Z]ippy scan
  663.             70                        132  Sec lev req'd for [*] global new
  664.                                            messages read
  665.              1                        133  Show bulletin menu if new Bltns?
  666.                                            1=yes, 0=No
  667.             10                        134  Suspend callers before event
  668.                                            (in minutes)
  669.             C:\IBBS\USRNDX\           135  Path to the "FNPNDX.x" user index
  670.                                            files
  671.             C:\IBBS\DISP\CL           136  Path/name of conf listing file
  672.             C:\IBBS\HELP\             137  Path to "Custom" help files
  673.                                       138  No Longer Used
  674.              1                        139  Ask "Do you want color at logon?"?
  675.                                            1=yes, 0=no
  676.              1                        140  Number of "rings" before sending
  677.                                            modem answer command
  678.             C:\IBBS\IBSYS\PWRD        141  Path/name of the "PWRD" file
  679.                                       142  Unused
  680.  
  681.             -1                        143  Load IBBSTEXT into memory?(faster)
  682.                                            -1=yes, 0=no
  683.              1                        144  Confirm the [G] (logoff) command?
  684.                                            1=yes, 0=no
  685.             70                        145  Sec lev required to U/L attached
  686.                                            file
  687.             HIJ                       146  Slow drive letters
  688.             Y                         147  Take modem off-hook during event
  689.             C:\IBBS\QUES\             148  Location of script questionnaires
  690.              0                        149  0=Open system, -1= Closed system
  691.              0                        150  Use sysops real name? -1=yes, 0=no
  692.                                       151  - unused -
  693.                                       152  - unused -
  694.             1                         153  Parallel printer port assigned
  695.             C:\IBBS\IBSYS\FNUSERS.INF 154  Path/name of "FNUSERS.INF" file
  696.             C:\IBBS\IBSYS\CUSSWRN     155  Path/name of the Profanity Warning
  697.                                            file
  698.             C:\IBBS\DISP\QUOTES.BBS   156  Path/name of BBS quotes file
  699.              1                        157  Display USRSTAT at logon: 1=y,0=n
  700.             C:\IBBS\DISP\POSTUL       158  Path/name of Post Upload file
  701.             C:\IBBS\DISP\POSTDL       159  Path/name of Post Download file
  702.             C:\IBBS\DISP\FAILUL       160  Path/name of Failed Upload file
  703.             C:\IBBS\DISP\FAILDL       161  Path/name of Failed Download file
  704.             C:\IBBS\CHAT\             162  Location of Chat files
  705.             C:\IBBS\DISP\CHTM         163  Path/name of Group Chat menu
  706.             6                         164  Maximum number of rooms available
  707.                                            in group chat
  708.              1                        165  Verify callers city/state at logon
  709.                                            0=yes, 1=no
  710.             C:\IBBS\MENU\CLS          166  Path/name of sysop message menu
  711.             C:\IBBS\MENU\MM           167  Path/name of sysop main menu
  712.             C:\IBBS\MENU\FMS          168  Path/name of sysop file menu
  713.              1                        169  Force mail to be read at logon?
  714.                                            1=yes, 0=no
  715.             C:\IBBS\IBSYS\            170  Path to SIG####.@@@ file(s).
  716.             C:\IBBS\IBSYS\            171  Path to SIG####.LST file(s).
  717.             C:\IBBS\IBSYS\USERS       172  Path/Name of "USERS" file
  718.             C:\IBBS\IBSYS\            173  Path to SIG####.USR file(s).
  719.             150                       174  Maximum number of lines allowed in
  720.                                            message editor
  721.             C:\IBBS\IBBSPROT.DAT      175  Path/name of "IBBSPROT.DAT" file
  722.             F                         176  "A"=Async serial driver,"F"=Fossil
  723.             C:\IBBS\IBSYS\FREE.LST    177  Path/name of FREE.LST file
  724.             0                         178  Charge users time for D/L Free
  725.                                            files?  1=yes, 0=no
  726.             50                        179  Sec lev for "*" Quick logon
  727.             C:\IBBS\IBSYS\TRASH       180  Path/name of "TRASH" file
  728.             C:\IBBS\IBSYS\IBPML.DAT   181  Path/name of Multi-Language File
  729.             C:\IBBS\IBSYS\MAIN.CMD    182  Path/name of MAIN Command Trans-
  730.                                            lation file.
  731.             C:\IBBS\IBSYS\MSG.CMD     183  Path/name of MSG Command Trans-
  732.                                            lation file.
  733.  
  734.             C:\IBBS\IBSYS\FT.CMD      184  Path/name of FILE TRANSFER Command
  735.                                            Translation file.
  736.             C:\IBBS\IBSYS\PAY.LST     185  Path/name of PAID D/L Files .LST
  737.                                            file.
  738.  
  739.             Note: The next 6 items expect HEX numbers.
  740.  
  741.             1E                        186  Color for Message Header CONF Line
  742.             4F                        187  Color for Message Header DATE Line
  743.             78                        188  Color for Message Header TO Line
  744.             5F                        189  Color for Message Header FROM Line
  745.             30                        190  Color for Message Header SUBJ Line
  746.             9                         191  Color for TEXT Entry
  747.             1                         192  Tell other nodes when a caller
  748.                                            logs on? 0=no;  1=yes
  749.             1                         193  Allow nodes to send other nodes
  750.                                            1-liner messages with the /w
  751.                                            command when in node/group chat.
  752.                                            0=no;  1=yes
  753.             200                       194  Max messages <= 2400 baud callers
  754.                                            may download per day. 32767 max.
  755.             400                       195  Max messages <= 4800 baud callers
  756.                                            may download per day. 32767 max.
  757.             1000                      196  Max messages <= 9600 baud callers
  758.                                            may download per day. 32767 max.
  759.             2000                      197  Max messages <= 14400 baud callers
  760.                                            may download per day. 32767 max.
  761.             10000                     198  Max messages > 14400 baud callers
  762.                                            may download per day. 32767 max.
  763.             200                       199  Max messages <= 2400 baud callers
  764.                                            may D/L in a QWK packet. 32767 Max
  765.             400                       200  Max messages <= 4800 baud callers
  766.                                            may D/L in a QWK packet. 32767 Max
  767.             1000                      201  Max messages <= 9600 baud callers
  768.                                            may D/L in a QWK packet. 32767 Max
  769.             2000                      202  Max messages <= 14400 baud callers
  770.                                            may D/L in a QWK packet. 32767 Max
  771.             10000                     203  Max messages > 14400 baud callers
  772.                                            may D/L in a QWK packet. 32767 Max
  773.             C:\IBBS\MENU\QWKM         204  Path/name of QWK menu file.
  774.             C:\IBBS\IBSYS\QWKCRC.DAT  205  Path/name of crc-32 dupe database
  775.  
  776.             Note: Any of the next 9 items with an "*" (asteric) following the
  777.                   item number are MANDATORY!
  778.  
  779.             PROGINN                   206* BBS ID - Contact HUB if Applicable
  780.             (813) 885-5718            207* BBS Phone Number
  781.             ■ The Programmer's Inn ■  208  Origin Line (tagline).
  782.             D:\SLMR                   209* Sub-Dir to IMPORT .REP packet from
  783.             D:\SLMR                   210* Sub-Dir to EXPORT .QWK packet to
  784.  
  785.  
  786.             D:\IBBS\RIPS\HELLO1       211  Path/name of WELCOME file to add
  787.                                            to .QWK packets.
  788.             D:\IBBS\RIPS\NEWS         212  Path/name of NEWS file to add to
  789.                                            .QWK packets.
  790.             D:\IBBS\RIPS\LOGOFF       213  Path/name of GOODBYE file to add
  791.                                            to .QWK packets.
  792.             TAMPA, FL.                214* Location of your BBS.
  793.  
  794.             D:\IBBS\RIPS\SIGMEN       215  Path/Name of SIG MENU file.
  795.             D:\IBBS\IBSYS\SIGDATA     216  Path/Name of SIG LIST file.
  796.             4E                        217  Color for Message Header READ Line.
  797.             400                       218  Lines in Scroll-Back Buffer.
  798.             D:\IBBS\DISP\HMR          219  HMR/LMR Pointer Menu Path & Name
  799.             0                         220  Exit to DOS after each call?  0=No
  800.             ATM0H1                    221  Modem OFF-HOOK Command
  801.             D:\IBBS\IBSYS\            222  InterBBS System Files Subdirectory
  802.